# -*- coding: utf-8 -*-


"""
目标网站: http://www.weather.com.cn/textFC/hb.shtml
需求: 爬取全国的天气(获取城市以及最低气温)
1. 不同的url会涉及不同的数据
https://www.weather.com.cn/textFC/hz.shtml  华中
https://www.weather.com.cn/textFC/hb.shtml  华北

2. 先来获取第一页的数据

url: https://www.weather.com.cn/textFC/hz.shtml

思路分析:
    1. 通过find方法， 定位 div class=conMidtab2
    2. 通过find_all方法， 找所有的tr标签


函数写法
1. 得到网页源码
2. 解析数据
3. 保存数据
4. 主函数
"""
from bs4 import BeautifulSoup
import requests
head = {
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36'
}
# 得到网页源码
def get_html(url):
    html = requests.get(url, headers=head)
    html.encoding = 'utf-8'
    # print(html.text)
    return html.text  # return将值返回到函数的调用处
# 解析数据
def parse_html(html):
    # 需要创建对象  网页源码在第一个函数， 但是要在第二个函数当中去使用
    soup = BeautifulSoup(html, 'lxml')
    conMidtab2 = soup.find('div', class_="conMidtab")
    tables = conMidtab2.find_all('table')  # 一个table代表一个省份
    # trs = conMidtab2.find_all('tr')
    # print(len(tables))
    for table in tables:
        # 找所有tr标签
        trs = table.find_all('tr')[2:]
        for index, tr in enumerate(trs):
            tds = tr.find_all('td')  # tds 是list
            # stripped_string: 获取td标签下的所有文本内容，并且会去除多余的空格
            # 返回的数据类型是迭代器， 进行强制转化
            # city = tds[1].stripped_strings
            """
            第一个城市是在第二个td里面，其他城市都是在第一个td
            怎么知道是第一个城市？第一个城市，索引应该是为0
            """
            if index == 0:
                city = list(tds[1].stripped_strings)[0]
            else:
                city = list(tds[0].stripped_strings)[0]
            temp = tds[-2].string
            print(city, temp)
        break

# 保存数据
def save_data():
    pass

# 主函数
def main():
    # 1. 得到网页源码
    url = 'https://www.weather.com.cn/textFC/hz.shtml'
    html = get_html(url)  # 调用函数  传参  get_html(url) == html.text
    parse_html(html)  # html == html.text(网页源码)  调用解析数据的函数

# 函数调用
main()


"""
目标网站: http://www.piaofang.biz/
需求: 1. 爬取页面所有电影名以及票房 2. 保存到csv
"""